package com.me.study.javaCore.genericity;

import java.lang.reflect.ParameterizedType;

/**
 * 声明的泛型类
 *
 * @author ME
 * @date 2021/5/16
 */
public class Foo<T>{

    /**
     * 获取泛型 `T` 的 Class信息
     * @return
     */
    @SuppressWarnings("unchecked")
    public Class<T> getTClass() {
        Class<T> tClass = (Class<T>) ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
        return tClass;
    }
}
